//package com.atwulidun.proxy11.cglibproxy;
//
//import net.sf.cglib.proxy.Enhancer;
//import net.sf.cglib.proxy.MethodInterceptor;
//import net.sf.cglib.proxy.MethodProxy;
//
//import java.lang.reflect.Method;
//
//public class ProxyFactory implements MethodInterceptor {
//    // 维护一个被代理对象
//    private Object target;
//
//    public ProxyFactory(Object target) {
//        this.target = target;
//    }
//
//    public Object getProxyInstance() {
//        Enhancer enhancer = new Enhancer();
//        enhancer.setSuperclass(target.getClass());
//        enhancer.setCallback(this);
//        return enhancer.create();
//    }
//
//    @Override
//    public Object intercept(Object o, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
//        System.out.println("准备上课");
//        Object retVal = method.invoke(target, args);
//        System.out.println("下课");
//        return retVal;
//    }
//}
